package com.ruipengkj.component.jtree;

import javax.swing.event.TreeModelListener;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreePath;

public class OverwriteTreeModel implements TreeModel {
	private JTreeNode treeNode;

	public OverwriteTreeModel(JTreeNode treeNode) {
	
		this.treeNode = treeNode;
	}

	// 返回树的根。
	public Object getRoot() {
		return this.treeNode;
	}

	// 返回父节点的子数组中索引 index 位置的 parent 的子节点。
	public Object getChild(Object parent, int index) {
		return ((JTreeNode) parent).getChild(index);
	}

	// 返回 parent 的子节点数。
	public int getChildCount(Object parent) {
		return ((JTreeNode) parent).getChildCount();
	}

	// 返回父节点中子节点的索引。
	public int getIndexOfChild(Object parent, Object child) {
		return ((JTreeNode) parent).getIndexOfChild(child);
	}

	// 如果 node 为叶节点，则返回 true。
	public boolean isLeaf(Object node) {
		return ((JTreeNode) node).isLeaf();
	}

	// 为树更改后发布的 TreeModelEvent 添加侦听器。
	public void addTreeModelListener(TreeModelListener l) {

	}

	// 移除以前通过 addTreeModelListener 添加的侦听器。
	public void removeTreeModelListener(TreeModelListener l) {

	}

	// 用户已将 path 标识的项的值更改为 newValue 时，进行通知。
	public void valueForPathChanged(TreePath path, Object newValue) {

	}
}
